#ifndef __HEROZ_GRAPHICS_HH__
#define __HEROZ_GRAPHICS_HH__
#include <vector>
#include <SDL/SDL.h>
#include <SDL/sge.h>

struct Sprite {
  std::vector<sge_sprite*> sprite_animations;
  int current_animation;

  Sprite() : current_animation(-1) {}
  ~Sprite() { for(auto i: sprite_animations) delete i; }

  sge_sprite *anim(int animation) { return sprite_animations.at(animation); }
  sge_sprite *anim() { return anim(current_animation); }
  void change_anim(int i);
};

class HerozGraphics {
  SDL_Surface *display;

public:
  std::vector<Sprite> sprites;

  void draw_sprites();
  HerozGraphics(SDL_Surface *display_, const char *path);
  ~HerozGraphics();
};

#endif
